---
# Source: kruise/templates/apps.kruise.io_daemonsets.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  name: daemonsets.apps.kruise.io
spec:
  group: apps.kruise.io
  names:
    kind: DaemonSet
    listKind: DaemonSetList
    plural: daemonsets
    shortNames:
      - daemon
      - ads
    singular: daemonset
  scope: Namespaced
  versions:
    - additionalPrinterColumns:
        - description: The desired number of pods.
          jsonPath: .status.desiredNumberScheduled
          name: DESIRED
          type: integer
        - description: The current number of pods.
          jsonPath: .status.currentNumberScheduled
          name: CURRENT
          type: integer
        - description: The ready number of pods.
          jsonPath: .status.numberReady
          name: READY
          type: integer
        - description: The updated number of pods.
          jsonPath: .status.updatedNumberScheduled
          name: UP-TO-DATE
          type: integer
        - description: The updated number of pods.
          jsonPath: .status.numberAvailable
          name: AVAILABLE
          type: integer
        - description: CreationTimestamp is a timestamp representing the server time when
            this object was created. It is not guaranteed to be set in happens-before
            order across separate operations. Clients may not set this value. It is represented
            in RFC3339 form and is in UTC.
          jsonPath: .metadata.creationTimestamp
          name: AGE
          type: date
        - description: The containers of currently  daemonset.
          jsonPath: .spec.template.spec.containers[*].name
          name: CONTAINERS
          priority: 1
          type: string
        - description: The images of currently advanced daemonset.
          jsonPath: .spec.template.spec.containers[*].image
          name: IMAGES
          priority: 1
          type: string
      name: v1alpha1
      schema:
        openAPIV3Schema:
          description: DaemonSet is the Schema for the daemonsets API
          properties:
            apiVersion:
              description: 'APIVersion defines the versioned schema of this representation
              of an object. Servers should convert recognized schemas to the latest
              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
              type: string
            kind:
              description: 'Kind is a string value representing the REST resource this
              object represents. Servers may infer this from the endpoint the client
              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
              type: string
            metadata:
              type: object
            spec:
              description: DaemonSetSpec defines the desired state of DaemonSet
              properties:
                replicas:
                  type: integer
                  description: Replicas value equals to the number of desired pods and is set by the controller for compatibility with PDB requirements.
                  default: 1
                burstReplicas:
                  anyOf:
                    - type: integer
                    - type: string
                  description: BurstReplicas is a rate limiter for booting pods on a
                    lot of pods. The default value is 250
                  x-kubernetes-int-or-string: true
                lifecycle:
                  description: Lifecycle defines the lifecycle hooks for Pods pre-delete,
                    in-place update. Currently, we only support pre-delete hook for
                    Advanced DaemonSet.
                  properties:
                    inPlaceUpdate:
                      description: InPlaceUpdate is the hook before Pod to update and
                        after Pod has been updated.
                      properties:
                        finalizersHandler:
                          items:
                            type: string
                          type: array
                        labelsHandler:
                          additionalProperties:
                            type: string
                          type: object
                        markPodNotReady:
                          description: 'MarkPodNotReady = true means: - Pod will be
                          set to ''NotReady'' at preparingDelete/preparingUpdate state.
                          - Pod will be restored to ''Ready'' at Updated state if
                          it was set to ''NotReady'' at preparingUpdate state. Default
                          to false.'
                          type: boolean
                      type: object
                    preDelete:
                      description: PreDelete is the hook before Pod to be deleted.
                      properties:
                        finalizersHandler:
                          items:
                            type: string
                          type: array
                        labelsHandler:
                          additionalProperties:
                            type: string
                          type: object
                        markPodNotReady:
                          description: 'MarkPodNotReady = true means: - Pod will be
                          set to ''NotReady'' at preparingDelete/preparingUpdate state.
                          - Pod will be restored to ''Ready'' at Updated state if
                          it was set to ''NotReady'' at preparingUpdate state. Default
                          to false.'
                          type: boolean
                      type: object
                  type: object
                minReadySeconds:
                  description: The minimum number of seconds for which a newly created
                    DaemonSet pod should be ready without any of its container crashing,
                    for it to be considered available. Defaults to 0 (pod will be considered
                    available as soon as it is ready).
                  format: int32
                  type: integer
                revisionHistoryLimit:
                  description: The number of old history to retain to allow rollback.
                    This is a pointer to distinguish between explicit zero and not specified.
                    Defaults to 10.
                  format: int32
                  type: integer
                selector:
                  description: 'A label query over pods that are managed by the daemon
                  set. Must match in order to be controlled. It must match the pod
                  template''s labels. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors'
                  properties:
                    matchExpressions:
                      description: matchExpressions is a list of label selector requirements.
                        The requirements are ANDed.
                      items:
                        description: A label selector requirement is a selector that
                          contains values, a key, and an operator that relates the key
                          and values.
                        properties:
                          key:
                            description: key is the label key that the selector applies
                              to.
                            type: string
                          operator:
                            description: operator represents a key's relationship to
                              a set of values. Valid operators are In, NotIn, Exists
                              and DoesNotExist.
                            type: string
                          values:
                            description: values is an array of string values. If the
                              operator is In or NotIn, the values array must be non-empty.
                              If the operator is Exists or DoesNotExist, the values
                              array must be empty. This array is replaced during a strategic
                              merge patch.
                            items:
                              type: string
                            type: array
                        required:
                          - key
                          - operator
                        type: object
                      type: array
                    matchLabels:
                      additionalProperties:
                        type: string
                      description: matchLabels is a map of {key,value} pairs. A single
                        {key,value} in the matchLabels map is equivalent to an element
                        of matchExpressions, whose key field is "key", the operator
                        is "In", and the values array contains only "value". The requirements
                        are ANDed.
                      type: object
                  type: object
                template:
                  description: 'An object that describes the pod that will be created.
                  The DaemonSet will create exactly one copy of this pod on every
                  node that matches the template''s node selector (or on every node
                  if no node selector is specified). More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template'
                  x-kubernetes-preserve-unknown-fields: true
                updateStrategy:
                  description: An update strategy to replace existing DaemonSet pods
                    with new pods.
                  properties:
                    rollingUpdate:
                      description: Rolling update config params. Present only if type
                        = "RollingUpdate".
                      properties:
                        maxSurge:
                          anyOf:
                            - type: integer
                            - type: string
                          description: 'The maximum number of nodes with an existing
                          available DaemonSet pod that can have an updated DaemonSet
                          pod during during an update. Value can be an absolute number
                          (ex: 5) or a percentage of desired pods (ex: 10%). This
                          can not be 0 if MaxUnavailable is 0. Absolute number is
                          calculated from percentage by rounding up to a minimum of
                          1. Default value is 0. Example: when this is set to 30%,
                          at most 30% of the total number of nodes that should be
                          running the daemon pod (i.e. status.desiredNumberScheduled)
                          can have their a new pod created before the old pod is marked
                          as deleted. The update starts by launching new pods on 30%
                          of nodes. Once an updated pod is available (Ready for at
                          least minReadySeconds) the old DaemonSet pod on that node
                          is marked deleted. If the old pod becomes unavailable for
                          any reason (Ready transitions to false, is evicted, or is
                          drained) an updated pod is immediatedly created on that
                          node without considering surge limits. Allowing surge implies
                          the possibility that the resources consumed by the daemonset
                          on any given node can double if the readiness check fails,
                          and so resource intensive daemonsets should take into account
                          that they may cause evictions during disruption. This is
                          beta field and enabled/disabled by DaemonSetUpdateSurge
                          feature gate.'
                          x-kubernetes-int-or-string: true
                        maxUnavailable:
                          anyOf:
                            - type: integer
                            - type: string
                          description: 'The maximum number of DaemonSet pods that can
                          be unavailable during the update. Value can be an absolute
                          number (ex: 5) or a percentage of total number of DaemonSet
                          pods at the start of the update (ex: 10%). Absolute number
                          is calculated from percentage by rounding up. This cannot
                          be 0 if MaxSurge is 0 Default value is 1. Example: when
                          this is set to 30%, at most 30% of the total number of nodes
                          that should be running the daemon pod (i.e. status.desiredNumberScheduled)
                          can have their pods stopped for an update at any given time.
                          The update starts by stopping at most 30% of those DaemonSet
                          pods and then brings up new DaemonSet pods in their place.
                          Once the new pods are available, it then proceeds onto other
                          DaemonSet pods, thus ensuring that at least 70% of original
                          number of DaemonSet pods are available at all times during
                          the update.'
                          x-kubernetes-int-or-string: true
                        partition:
                          description: The number of DaemonSet pods remained to be old
                            version. Default value is 0. Maximum value is status.DesiredNumberScheduled,
                            which means no pod will be updated.
                          format: int32
                          type: integer
                        paused:
                          description: Indicates that the daemon set is paused and will
                            not be processed by the daemon set controller.
                          type: boolean
                        rollingUpdateType:
                          description: Type is to specify which kind of rollingUpdate.
                          type: string
                        selector:
                          description: A label query over nodes that are managed by
                            the daemon set RollingUpdate. Must match in order to be
                            controlled. It must match the node's labels.
                          properties:
                            matchExpressions:
                              description: matchExpressions is a list of label selector
                                requirements. The requirements are ANDed.
                              items:
                                description: A label selector requirement is a selector
                                  that contains values, a key, and an operator that
                                  relates the key and values.
                                properties:
                                  key:
                                    description: key is the label key that the selector
                                      applies to.
                                    type: string
                                  operator:
                                    description: operator represents a key's relationship
                                      to a set of values. Valid operators are In, NotIn,
                                      Exists and DoesNotExist.
                                    type: string
                                  values:
                                    description: values is an array of string values.
                                      If the operator is In or NotIn, the values array
                                      must be non-empty. If the operator is Exists or
                                      DoesNotExist, the values array must be empty.
                                      This array is replaced during a strategic merge
                                      patch.
                                    items:
                                      type: string
                                    type: array
                                required:
                                  - key
                                  - operator
                                type: object
                              type: array
                            matchLabels:
                              additionalProperties:
                                type: string
                              description: matchLabels is a map of {key,value} pairs.
                                A single {key,value} in the matchLabels map is equivalent
                                to an element of matchExpressions, whose key field is
                                "key", the operator is "In", and the values array contains
                                only "value". The requirements are ANDed.
                              type: object
                          type: object
                      type: object
                    type:
                      description: Type of daemon set update. Can be "RollingUpdate"
                        or "OnDelete". Default is RollingUpdate.
                      type: string
                  type: object
              required:
                - selector
                - template
              type: object
            status:
              description: DaemonSetStatus defines the observed state of DaemonSet
              properties:
                collisionCount:
                  description: Count of hash collisions for the DaemonSet. The DaemonSet
                    controller uses this field as a collision avoidance mechanism when
                    it needs to create the name for the newest ControllerRevision.
                  format: int32
                  type: integer
                conditions:
                  description: Represents the latest available observations of a DaemonSet's
                    current state.
                  items:
                    description: DaemonSetCondition describes the state of a DaemonSet
                      at a certain point.
                    properties:
                      lastTransitionTime:
                        description: Last time the condition transitioned from one status
                          to another.
                        format: date-time
                        type: string
                      message:
                        description: A human readable message indicating details about
                          the transition.
                        type: string
                      reason:
                        description: The reason for the condition's last transition.
                        type: string
                      status:
                        description: Status of the condition, one of True, False, Unknown.
                        type: string
                      type:
                        description: Type of DaemonSet condition.
                        type: string
                    required:
                      - status
                      - type
                    type: object
                  type: array
                currentNumberScheduled:
                  description: 'The number of nodes that are running at least 1 daemon
                  pod and are supposed to run the daemon pod. More info: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/'
                  format: int32
                  type: integer
                daemonSetHash:
                  description: DaemonSetHash is the controller-revision-hash, which
                    represents the latest version of the DaemonSet.
                  type: string
                desiredNumberScheduled:
                  description: 'The total number of nodes that should be running the
                  daemon pod (including nodes correctly running the daemon pod). More
                  info: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/'
                  format: int32
                  type: integer
                numberAvailable:
                  description: The number of nodes that should be running the daemon
                    pod and have one or more of the daemon pod running and available
                    (ready for at least spec.minReadySeconds)
                  format: int32
                  type: integer
                numberMisscheduled:
                  description: 'The number of nodes that are running the daemon pod,
                  but are not supposed to run the daemon pod. More info: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/'
                  format: int32
                  type: integer
                numberReady:
                  description: The number of nodes that should be running the daemon
                    pod and have one or more of the daemon pod running and ready.
                  format: int32
                  type: integer
                numberUnavailable:
                  description: The number of nodes that should be running the daemon
                    pod and have none of the daemon pod running and available (ready
                    for at least spec.minReadySeconds)
                  format: int32
                  type: integer
                observedGeneration:
                  description: The most recent generation observed by the daemon set
                    controller.
                  format: int64
                  type: integer
                updatedNumberScheduled:
                  description: The total number of nodes that are running updated daemon
                    pod
                  format: int32
                  type: integer
                labelSelector:
                  description: A serialized label selector in string form
                  type: string
              required:
                - currentNumberScheduled
                - daemonSetHash
                - desiredNumberScheduled
                - numberMisscheduled
                - numberReady
                - updatedNumberScheduled
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
        scale:
          specReplicasPath: .spec.replicas
          statusReplicasPath: .status.numberAvailable
          labelSelectorPath: .status.labelSelector
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
